
Nombre:
WinZip
Versión:
8.0 beta 2350
Editor:
Nico Mark Computing Inc
Víctima:
WINZIP32.EXE
Herramientas:
SoftICE
Cerebro
Cracker:
LW2000
Tutorial:
número 57
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Bien, no me gusta crackear betas, pero
me lo han pedido y … Me he comprometido, así que aquí está mi Tutorial sobre
WinZip v8.0
2.
Vamos a la pantalla de registro e introducimos
los detalles: ‘LW2000 [CiA]’ como Name y ‘1230099’ como Code.
3.
Pulsamos Ctrl-D para cambiarnos a SoftICE
y ponemos un breakpoint en ‘hMemCpy’ (“BPX HMEMCPY”).
4.
Pulsamos F5 para regresar a WinZip y
pulsamos el botón ‘Ok’
5.
¡Booom! SoftICE aparecer nuevamente,
pero como tenemos dos campos de texto tenemos que pulsar F5 nuevamente.
6.
¡Boom! SoftICE aparece otra vez. Ahora
pulsamos F12 hasta que lleguemos al código propio del programa. Después traceamos
hasta ver esto:
0117:00407A66 BFD0BD4800 mov edi, 0048BDD0
0117:00407A6B 50 push eax
0117:00407A6C 57 push edi
0117:00407A6D E89B020000 call 00407D0D
0117:00407A72 8D85F8FDFFFF lea eax, dword ptr [ebp-0208]
0117:00407A78 50 push eax >”D
EAX”
0117:00407A79 8D45EC lea eax, dword ptr [ebp-14]
0117:00407A7C 50 push eax
0117:00407A7D E87E040600 call 00467F00
7.
¡Bien! ¿Qué es lo que está haciendo WinZip?
Si mostramos el registro EAX en la dirección ‘00407A78’ observaremos que WinZip
está cortando un trozo de nuestro Name (‘LW2000 [CiA]’ -> ‘LWCiA’)
8.
Bueno es saberlo … Ahora traceamos un
poco hasta que veamos esto:
0177:00407AFB
E8A9000000 call 00407BA9
0177:00407B00
BEFCBD4800 mov esi, 0048BDFC
0177:00407B05
8D85C0FEFFFF lea eax, dword ptr [ebp+FFFFFEC0]
0177:00407B0B
56 push esi >”D EAX”
0177:00407B0C
50 push eax
0177:00407B0D
E8EE030600 call 00467F00
0177:00407B12
83C410 add esp, 00000010
0177:00407B15
F7D8 neg eax
0177:00407B17
1BC0 sbb eax, eax
0177:00407B19
40 inc eax
0177:00407B1A
A334904800 mov dword ptr [00489034],
eax
0177:00407B1F
7568 jne 00407B89
0177:00407B21
8D85C0FEFFFF lea eax, dword ptr [ebp+FFFFFEC0]
0177:00407B27
50 push eax
0177:00407B28
57 push edi
0177:00407B29
E818010000 call 00407C46
0177:00407B2E
8D85C0FEFFFF lea eax, dword ptr [ebp+FFFFFEC0]
0177:00407B34
56 push esi >”D EAX”
0177:00407B35
50 push eax
0177:00407B36
E8C5030600 call 00467F00
0177:00407B3B
83C410 add esp, 00000010
0177:00407B3E
F7D8 neg eax
9.
Bien, en la posición ‘00407B05’ el primer
Serial se guarda en EAX. Este Serial se calcula a partir del Name completo
(‘LW2000 [CiA]’). En la posición ‘407B2E’ el segundo Serial se guarda en EAX.
Este Serial se calcula a partir de nuestro Name ‘cortado’ (‘LWCiA’).
10.
¡Mmmmm! ¡Vamos a probar uno …! Antes desactivamos o borramos nuestro
breakpoint … Introducimos ‘LW2000 [CiA]’ como Name y ‘E354128A’ o ‘36612102’
como Code.
11.
¡Enhorabuena! ¡Ya es usted un usuario registrado!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracia a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe